<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <meta name="author" content="John Doe">
    
    
    
    
    
    
    <title>Hexo</title>
    <!-- inject:style -->
    <link href="/css/style.css" rel="stylesheet" type="text/css">
    <!-- endinject -->
    <style>
        .cube-loading {
            top: 0;
            position: fixed;
            width: 100%;
            height: 100%;
            background: url('/images/lg/loading.gif') no-repeat center center;
            background-color: rgba(0,0,0,.7);
        }

        .cube-loading.out {
            display: none;
        }

        .cube-loading:before {
            display: block;
            content: 'Loading';
            position: relative;
            width: 100%;
            top: 50%;
            right: -50%;
            color: #fff;
        }

        @media(max-width: 768px) {
            .cube-loading:before {
                font-size: 1.2em;
                transform: translate(-24px,20px);
                -webkit-transform: translate(-24px,20px);
                -o-transform: translate(-24px,20px);
                -ms-transform: translate(-24px,20px);
            }
        }

        @media(min-width: 768px) {
            .cube-loading:before {

            }
        }
    </style>
    
<meta name="generator" content="Hexo 6.3.0"></head>
<body>
<div class="cube-body">
    <nav id="cube-top-memu" class="cube-menu">
    <ul class="cube-menu-collapse">
        
        <li>
            <i class="cube-icon cube-icon-home" aria-hidden="true"></i>
            <a href="/">首页</a>
        </li>
        
        <li>
            <i class="cube-icon cube-icon-archive" aria-hidden="true"></i>
            <a href="/archives">归档</a>
        </li>
        
        <li>
            <i class="cube-icon cube-icon-categories" aria-hidden="true"></i>
            <a href="/categories">分类</a>
        </li>
        
        <li>
            <i class="cube-icon cube-icon-tags" aria-hidden="true"></i>
            <a href="/tags">标签</a>
        </li>
        
        <li>
            <i class="cube-icon cube-icon-about" aria-hidden="true"></i>
            <a href="/about-me">关于我</a>
        </li>
        
    </ul>
</nav>
<nav class="cube-side-menu" id="cube-side-menu">
    <ul class="cube-menu-list">
        
        <li>
            <a class="lrc-control">Open Lyrics</a>
        </li>
        
        <li>
            <a class="scroll-to-top">Top</a>
        </li>
    </ul>
</nav>
    <header class="cube-header" id="cube-header">
    <img src=" /source/images/bg/m1.jpg " alt="头部背景图片">
    
    <div class="cube-type">
        <span class="cube-typed-title">锦先生的个人小站</span>
        <span class="cube-typed-cursor">|</span>
    </div>
    
</header>

    <style>
        nav.cube-menu:before {
            content: '';
            visibility: hidden;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 44px;
        
            filter: blur(5px);
            -webkit-filter: blur(5px);
        
            z-index: -1;
            background-image: url('/images/bg/m1.jpg');
            background-repeat: no-repeat;
            background-position: center -356px;
            background-size: cover;
            background-color: transparent;
        }

        header.cube-background.cube-header-background {
            visibility: hidden;
            background-image: url('/images/bg/m1.jpg');
            background-position: center -400px;
        }
    </style>
    <header class="cube-background cube-header-background">
        
        <div class="cube-type">
            <span class="cube-typed-title">锦先生的个人小站</span>
            <span class="cube-typed-cursor">|</span>
        </div>
        
    </header>
    <div class="load-header-background"></div>
    <script>
        (function (window) {

            window.headerModule = {}
            window.headerModule.image = {
                width: '2000',
                height: '1414'
            }

        })(window)
    </script>
    
    <div class="cube-content">
        <div class="cube-left">
            
<div class="cube-excerpt" id="cube-excerpt-夯实基础，保有自我，继续成长——锦先生2023年终总结">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/23/%E5%A4%AF%E5%AE%9E%E5%9F%BA%E7%A1%80%EF%BC%8C%E4%BF%9D%E6%9C%89%E8%87%AA%E6%88%91%EF%BC%8C%E7%BB%A7%E7%BB%AD%E6%88%90%E9%95%BF%E2%80%94%E2%80%94%E9%94%A6%E5%85%88%E7%94%9F2023%E5%B9%B4%E7%BB%88%E6%80%BB%E7%BB%93/">夯实基础，保有自我，继续成长——锦先生2023年终总结</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-23
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <hr>
<h2 id="theme-juejin"><a href="#theme-juejin" class="headerlink" title="theme: juejin"></a>theme: juejin</h2><h1 id="写在前面"><a href="#写在前面" class="headerlink" title="写在前面"></a>写在前面</h1><p>屏幕前的各位大家好呀，首先很感谢你能点进来看这样一篇由一位技术小白&amp;大二学生撰写的的博文。在这篇文章中，虽说是对自己这一年来学习生活的总结，但会提取出部分我认为对一些和我情况类似的同学可能会有用的知识，来保证这篇文章对平台而言不是水文23333</p>
<p>有关技术，将主要将从以下几个主题展开：</p>
<ol>
<li>如何高效学习？以实用主义为原则，应用驱动型学习</li>
<li>前沿知识很吸引人对吧？但不应该绕开计算机基础理论（四大件）</li>
<li>算法真的没有用吗？偶尔刷刷力扣也好！</li>
<li>用AI会有负罪感？没大碍，很多程序员早就习惯把GPT放手边随时用了</li>
<li>到底是知识付费还是纯卖课？耐心找找，很多优质资源用不着花钱！</li>
<li>写博客总是会害怕写不好？这是好事！鼓励分享，鼓励交流！</li>
</ol>
<p>当然我也夹带私货，会说几点这一年来我的“人生感悟”，放在文末：</p>
<ol>
<li>有人，才有一切。一定要多与人交流，切不可“唯技术论”</li>
<li>保有自我，必要时刻展露自己的锋芒，拒绝被PUA</li>
<li>不想学的时候就允许自己休息，学会生活</li>
</ol>
<h1 id="我的技术实践学习总结"><a href="#我的技术实践学习总结" class="headerlink" title="我的技术实践学习总结"></a>我的技术实践学习总结</h1><h2 id="一、如何高效学习？以实用主义为原则，应用驱动型学习"><a href="#一、如何高效学习？以实用主义为原则，应用驱动型学习" class="headerlink" title="一、如何高效学习？以实用主义为原则，应用驱动型学习"></a>一、如何高效学习？以实用主义为原则，应用驱动型学习</h2><p>在上大二之前的我，学习一门技术最常用的方法就是啃书，边看书边敲代码。</p>
<p><img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f2259b72d19f426797559158d283e191~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=500&h=646&s=391166&e=png&b=f8f7f7" alt="image.png"></p>
<blockquote>
<p>我的C++就是边看这本《C++ Essential》边写代码学会的</p>
</blockquote>
<p><img src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5103b3efff664df9b2ee4231f4fc1d9c~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=800&h=800&s=214449&e=png&b=fcfcfc" alt="image.png"></p>
<blockquote>
<p>这是学校发的教材，初学Java用的是这本。但这本书讲的不够详细，之后又去看了《疯狂Java》</p>
</blockquote>
<p>这样做的话效率其实挺高的，掌握知识也比较全面，而且在如今这个浮躁的社会里静下心来好好看看书也是一种锻炼。</p>
<p>但对我来说，热情和动力总是很难保持，看书看着看着就会睡着（）</p>
<p>而且从应用角度来看，书上一些知识虽然花了大篇幅来讲，但实际用的却很少。就比如Java的多线程，除了大一的时候做小游戏用到过一回，其他时候就再也没怎么用到了——或许是我做的项目还太少吧。</p>
<p>还是缺乏应用，知识理解得不深刻，知识点之间也缺乏主动的连结，很多知识到后头就忘了。</p>
<p>这样下来，其实有点难以坚持下去。</p>
<p>后来受学长启发，<strong>“只有当你开始做东西的时候，你才会知道自己缺什么”</strong>，开始实践学长口中所说的“项目驱动型学习”。</p>
<p>第一次尝试，是在今年的暑假，第六届青训营大项目里我负责简易抖音的视频点赞操作。由于整个项目都要求使用Go语言，然后我就花十来天想办法速成了Go的语法基础——这个过程我才发现其实互联网上有非常多的在线编程语言学习网站，在完成一个个编程任务的同时就能把知识学到。</p>
<p>学会Go当然还不够，要做项目，就要进行很多次版本迭代；要进行版本迭代，就得学Git，飞快得又去过了一遍Git基础</p>
<img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/dcd3c9c1a78a4f5ab3564b258d6f4cc9~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=338&h=286&s=81695&e=png&b=fefaf9" alt="image.png" width="30%" />

<p>功能实现还关联到Redis数据库，此前一直听闻的是MySQL，于是又赶忙去学了Redis——在使用Redis的时候，渐渐发现了它的优势，对它就尤为感兴趣，打算以后深入学学。</p>
<img src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bda626a7fda841cfb6b2731068ae437e~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1171&h=827&s=39150&e=png&b=1f1f1f" alt="image.png" width="90%" />

<p>也简单入门了Apifox做功能测试工作——当时其实还不是特别理解Apifox这种工具的必要性，直到当我开始做大二期末的课设……</p>
<img src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/8dc506042ffb4d91b3b1efdd69a86425~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1406&h=858&s=79442&e=png&b=1d1e28" />

<p>最后磕磕绊绊终于把功能实现了，当时作为一颗小白菜的我别提多高兴了XD。这里贴上部分代码：</p>
<figure class="highlight go"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><span class="line"><span class="function"><span class="keyword">func</span> <span class="title">FavoriteAction</span><span class="params">(c *gin.Context)</span></span> &#123;  </span><br><span class="line">    <span class="keyword">var</span> err <span class="type">error</span>  </span><br><span class="line">    <span class="keyword">var</span> videoInfo VideoInfo  </span><br><span class="line">    <span class="comment">//连接到redis数据库  </span></span><br><span class="line">    client := redis.NewClient(&amp;redis.Options&#123;  </span><br><span class="line">        Addr: <span class="string">&quot;localhost:6379&quot;</span>, <span class="comment">// Redis服务器地址  </span></span><br><span class="line">        Password: <span class="string">&quot;&quot;</span>, <span class="comment">// Redis最好设置密码，不能被任意的人访问  </span></span><br><span class="line">        DB: <span class="number">0</span>, <span class="comment">// Redis数据库索引，默认0  </span></span><br><span class="line">    &#125;) <span class="comment">//登录数据库使用的  </span></span><br><span class="line">    <span class="comment">// 先检查客户端和Redis的连接是否正常  </span></span><br><span class="line">    _, err = client.Ping().Result()  </span><br><span class="line">    <span class="keyword">if</span> err != <span class="literal">nil</span> &#123;  </span><br><span class="line">        log.Fatal(err) <span class="comment">// 记录到日志中  </span></span><br><span class="line">        fmt.Println(err) <span class="comment">// 打印错误信息  </span></span><br><span class="line">    &#125;  </span><br><span class="line">    <span class="comment">//获取SQL数据库连接  </span></span><br><span class="line">    db := Utils.GetDbConnection()  </span><br><span class="line">  </span><br><span class="line">    <span class="comment">//......</span></span><br><span class="line">    db.Find(&amp;videoInfo).Limit(<span class="number">10</span>).Order(videoID)  </span><br><span class="line">  </span><br><span class="line">    jsonVideoInfo, err := json.Marshal(videoInfo) <span class="comment">// 序列化  </span></span><br><span class="line">    <span class="comment">//......</span></span><br><span class="line">    <span class="keyword">if</span> actionType == <span class="string">&quot;1&quot;</span> &#123; <span class="comment">// 为视频点赞  </span></span><br><span class="line">        err = client.ZAdd(userID, redis.Z&#123;Score: <span class="number">1</span>, Member: jsonVideoInfo&#125;).Err() <span class="comment">// 用户的点赞，要记录对于用户来说，ta点赞了多少个视频，有哪些视频被点赞了  </span></span><br><span class="line">    <span class="keyword">if</span> err != <span class="literal">nil</span> &#123;  </span><br><span class="line">        log.Println(err) <span class="comment">// 记录到日志中  </span></span><br><span class="line">        fmt.Println(err) <span class="comment">// 打印错误信息  </span></span><br><span class="line">    &#125;  </span><br><span class="line">    _, err = client.ZAdd(video_ID, redis.Z&#123;Score: <span class="number">1</span>, Member: userID&#125;).Result() <span class="comment">// 视频的点赞，要记录对于视频来说，有多少人赞了，哪些人赞了  </span></span><br><span class="line">    <span class="keyword">if</span> err != <span class="literal">nil</span> &#123;  </span><br><span class="line">        log.Println(err) <span class="comment">// 记录到日志中  </span></span><br><span class="line">        fmt.Println(err) <span class="comment">// 打印错误信息  </span></span><br><span class="line">    &#125;  </span><br><span class="line">        fmt.Println(<span class="string">&quot;您已成功为ID为&quot;</span> + video_ID + <span class="string">&quot;的视频点了一个赞！&quot;</span>)  </span><br><span class="line">    &#125; <span class="keyword">else</span> &#123; <span class="comment">// 给视频取消点赞  </span></span><br><span class="line">    err = client.ZRem(userID, jsonVideoInfo).Err() <span class="comment">// 用户的点赞，要记录对于用户来说，ta点赞了多少个视频，有哪些视频被点赞了  </span></span><br><span class="line">    <span class="comment">//......</span></span><br><span class="line">    c.JSON(<span class="number">200</span>, gin.H&#123;<span class="string">&quot;status_code&quot;</span>: <span class="number">0</span>, <span class="string">&quot;status_msg&quot;</span>: <span class="string">&quot;OK&quot;</span>&#125;) <span class="comment">// 真的应该这样去处理错误数据吗  </span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>

<p>这样的学习全过程动力都在线，一方面原因是客观的压力，另一方面原因也是自己对新技术的好奇。这样以“实用主义”为原则的学习是颇具有实际意义的。</p>
<p>目光放在我这学期的课设上——用JSP和MySQL开发一个简易购物网站系统。这个课设我还是很重视的，因为我没有将目光停留在应付期末答辩上，而是期望将来能用上Spring，Vue和RabbitMQ等流行技术来进一步优化它。</p>
<p>这个过程我主要遇到两个问题：</p>
<ol>
<li>IDEA下创建的项目，webapp的文件路径配置是设置好了的，如果要在其中设立新的子目录并在子目录当中创建新页面，很可能会出现前端数据无法传给后台的情况</li>
</ol>
<blockquote>
<p>本例中，form表单当中的数据点提交后无法发送给后台的servlet程序</p>
</blockquote>
<img src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e86e6af3cb074fe1ac5f8f1ca258ed88~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=467&h=460&s=58085&e=png&b=f6f7fa" alt="image.png" width="50%" />

<img src="https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/92fec8be85e345f7af8a430b45b14b10~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1607&h=492&s=304340&e=png&b=fefdfd"/>

<img src="https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/379ecc30201c40bdb1963e029bd76378~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1920&h=401&s=19707&e=png&b=ffffff"/>

<p>将所有页面文件直接放在webapp目录下就能正常运行了。但如果偏要设立子目录那样设计，就需要自己去配置文件路径了。</p>
<ol start="2">
<li>将图片上传至数据库。要实现这个功能，第一就要在HTML标签属性中表明自己上传的数据类型是文件。第二就是在request中获取到Part部分，这里包含了图片文件。第三就要规定图片上传的路径位置。第四就是获取图片文件的名称（有需要的话可以进行重命名）</li>
</ol>
<blockquote>
<p>这个过程中，涉及到了图片以二进制形式传输的知识</p>
</blockquote>
<figure class="highlight java"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title class_">UploadFileTool</span> <span class="keyword">extends</span> <span class="title class_">HttpServlet</span> &#123;</span><br><span class="line">    <span class="keyword">public</span> String <span class="title function_">UploadImage</span><span class="params">(HttpServletRequest request,String save_directory)</span> <span class="keyword">throws</span> ServletException, IOException &#123;</span><br><span class="line">        Part filePart=request.getPart(<span class="string">&quot;certifi&quot;</span>);<span class="comment">//获取上传文件的Part对象</span></span><br><span class="line">        String fileName=getFileName(filePart);<span class="comment">//获取上传文件的原始文件名</span></span><br><span class="line">        String savePath=request.getServletContext().getRealPath(<span class="string">&quot;&quot;</span>)+ File.separator+save_directory;<span class="comment">//获取保存文件的目录路径</span></span><br><span class="line">        File saveDir=<span class="keyword">new</span> <span class="title class_">File</span>(savePath);<span class="comment">//创建保存文件的目录</span></span><br><span class="line">        <span class="keyword">if</span>(!saveDir.exists())&#123;</span><br><span class="line">            saveDir.mkdir();</span><br><span class="line">        &#125;</span><br><span class="line">        filePart.write(savePath+File.separator+fileName);<span class="comment">//创建保存的文件</span></span><br><span class="line"></span><br><span class="line">        <span class="keyword">return</span> savePath;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">private</span>  String <span class="title function_">getFileName</span><span class="params">(Part part)</span>&#123;</span><br><span class="line">        String contentDisposition=part.getHeader(<span class="string">&quot;content-disposition&quot;</span>);</span><br><span class="line">        String[] elements=contentDisposition.split(<span class="string">&quot;;&quot;</span>);</span><br><span class="line">        <span class="keyword">for</span>(String element:elements)&#123;</span><br><span class="line">            <span class="keyword">if</span>(element.trim().startsWith(<span class="string">&quot;filename&quot;</span>))&#123;</span><br><span class="line">                <span class="keyword">return</span> element.substring(element.indexOf(<span class="string">&#x27;=&#x27;</span>)+<span class="number">1</span>).trim().replace(<span class="string">&quot;&quot;&quot;,&quot;&quot;);</span></span><br><span class="line"><span class="string">            &#125;</span></span><br><span class="line"><span class="string">        &#125;</span></span><br><span class="line"><span class="string">        return &quot;&quot;;</span></span><br><span class="line"><span class="string">    &#125;</span></span><br><span class="line"><span class="string">&#125;</span></span><br></pre></td></tr></table></figure>

<p>通过查资料+自己一步步调试实现出来的，成就感满满。</p>
<p>这样的“项目驱动型学习”保持学习动力的同时还实实在在地锻炼了编程能力，是非常好的，因为做项目的本质就是应用。</p>
<p>这样的学习会让自己立刻明白自己究竟缺少什么，给自己接下来的学习指明方向，是可以避免某些情况下的盲目学习的。</p>
<blockquote>
<p>比如，要做好上文提到的极简版抖音，Redis、MySQL、Git、Minio等技术都是需要的。而我为了现学现用只学了当时所需要的部分，还不足够全面、深入，这就为我之后的学习明确了目标。</p>
</blockquote>
<p>当然，按照这样的学习思路，我们还可以向外推导。如果要学习某一门技术知识，也可以去牛客网找题目做，或者背八股文，这样的“应用型驱动”也可以在一定程度上加深我们对知识的理解。</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/23/%E5%A4%AF%E5%AE%9E%E5%9F%BA%E7%A1%80%EF%BC%8C%E4%BF%9D%E6%9C%89%E8%87%AA%E6%88%91%EF%BC%8C%E7%BB%A7%E7%BB%AD%E6%88%90%E9%95%BF%E2%80%94%E2%80%94%E9%94%A6%E5%85%88%E7%94%9F2023%E5%B9%B4%E7%BB%88%E6%80%BB%E7%BB%93/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-小树洞">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/17/%E5%B0%8F%E6%A0%91%E6%B4%9E/">小树洞</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-17
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <p>我一直觉得自己做得不足够好</p>
<p>消极情绪是会传染的</p>
<p>而我又不想总是亏欠他人</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/17/%E5%B0%8F%E6%A0%91%E6%B4%9E/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-MyOwnBlog运行和部署历程">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/13/MyOwnBlog%E8%BF%90%E8%A1%8C%E5%92%8C%E9%83%A8%E7%BD%B2%E5%8E%86%E7%A8%8B/">MyOwnBlog运行和部署历程</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-13
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="项目驱动-个人兴趣"><a href="#项目驱动-个人兴趣" class="headerlink" title="项目驱动+个人兴趣"></a>项目驱动+个人兴趣</h1><p>约在去年吧，就看到很多人都有自己的博客网站，觉得蛮酷的。想着自己来做一下，拿来当作增加自己实践经验的项目。看起来很轻松的样子，但其实这个过程还是比较曲折的，于是便有了下文。</p>
<h1 id="一站式部署工具—失败"><a href="#一站式部署工具—失败" class="headerlink" title="一站式部署工具—失败"></a>一站式部署工具—失败</h1><h3 id="WordPress"><a href="#WordPress" class="headerlink" title="WordPress"></a>WordPress</h3><p>在所有的一站式网站搭建工具中，WordPress应该是集成度最高的了。前端页面展示可以套模板，也可以用外部仓库的项目或者WordPress自带的网页设计工具。但一个很大的缺点就是，如果想要更好网页组件&#x2F;更美的模板，定制的域名，是需要支付月费的——最低4美刀。</p>
<p>支付点钱问题都不大，可关键我没有国际银行卡来支付美刀。想要申请一张国际银行卡的话，还得等到自己就业以后（）</p>
<h3 id="Netlify"><a href="#Netlify" class="headerlink" title="Netlify"></a>Netlify</h3><p>也可以一站式部署，前端设计&#x2F;后台管理一条龙。</p>
<p>这个免费力度是足够的，我搭建的第一个网站就是用的Netlify。域名可以买Netify提供的，也可以选择自己在别的域名提供商那里买的。我在华为云用9块钱买了一个域名jackvitcor.top</p>
<blockquote>
<p>话说为什么有.com后缀的域名贵那么多啊</p>
</blockquote>
<h1 id="本地项目搭建"><a href="#本地项目搭建" class="headerlink" title="本地项目搭建"></a>本地项目搭建</h1><p>因为之前用cloudflare+华为云绑定和IP地址和域名，所以当我再用Netlify的时候遇到了问题，于是问题还是回到了得自己一步步搭建网站上。</p>
<h3 id="Hexo"><a href="#Hexo" class="headerlink" title="Hexo"></a>Hexo</h3><p>在本地搭建可浏览的网站就容易很多了，这里用的国人开发的框架<strong>Hexo</strong>，因为操作很简单，发布的文章也支持Markdown格式，于是选定一个自己比较喜欢的模板，很快就搭建好了。</p>
<p>这个过程主要遇到了两个问题，都依次解决了：</p>
<ol>
<li><p>中文路径名导致操作失效。这个大概是电脑刚买回来自己造的孽，在user目录下自己要操作的用户根目录名设置成了中文的，导致了后续非常多的问题（有时抓耳挠腮不知道是什么问题）。根据知乎的一篇文章一步步操作，比较顺利地解决了，Vscode也可以正常调试了，但现在仍然有一些后遗症等待我去解决。</p>
</li>
<li><p>模板加载出错，博客文章不能正常显示，更换了模板之后就没有大问题了，看来以后更换模板还需要多加注意呢。</p>
</li>
</ol>
<p>不过也多了一些疑问：</p>
<ol>
<li>_config.yml文件的作用和原理</li>
</ol>
<h1 id="上线网站"><a href="#上线网站" class="headerlink" title="上线网站"></a>上线网站</h1><p>华为云</p>
<p>cloudflare</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/13/MyOwnBlog%E8%BF%90%E8%A1%8C%E5%92%8C%E9%83%A8%E7%BD%B2%E5%8E%86%E7%A8%8B/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-明确职业方向，做出职业选择---一次技术分享会观后感">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/">明确职业方向，做出职业选择---一次技术分享会观后感</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-09
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="能力过关，学历不是问题"><a href="#能力过关，学历不是问题" class="headerlink" title="能力过关，学历不是问题"></a>能力过关，学历不是问题</h1><p>是在下午4：10开始的一场讲座，主讲人是来自一家互联网培训机构的老师。之前由于某些原因，一直对这家机构有所成见，于是对这次分享会不报什么期望。但简单听了几分钟后，兴趣便上来了，便接着听了下去，直到分享会结束。<br><img src="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/img1.jpg" alt="Alt Text"></p>
<p>有关学历歧视&#x2F;学历自卑这件事，其实一年多以前，我还是非常在乎的。进入大学以来，想做的第一件事就是考研——一是为了弥补高考遗憾，二是满足自己的虚荣心，三也是认为在求职的时候双非没戏了。</p>
<p><strong>但其实不是这样的。我之所以这么想，除了自身的诸多原因以外，还有中国教育的某些缺失，自己的视野没有打开。</strong> 学历很重要，但在求职就业时，还要根据自己的专业再做讨论。</p>
<p>人工智能听起来高大上，但实际就业非常困难，因为即便现在有ChatGPT,人工智能仍然是一门不成熟的技术。</p>
<p>互联网开发，侧重的点多在应用，解决实际问题。而中国教育长期停留在书本、理论教学，缺少实践，这样教出来的学生不只是<strong>学习观会受限，看待世界的方式也总是很狭隘。</strong> 因而，当我大一面对互联网开发，还不具有视野和实践经验时，一直持有的态度是自卑和否定。</p>
<p>互联网开发真的不一样，各行各业都需要互联网技术，因而互联网岗位也总是比较多的。而想要进入大厂，关键在以下三点：<br><img src="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/img2.jpg" alt="Alt Text"></p>
<blockquote>
<ol>
<li>语言一定要了解内部运行原理</li>
<li>所用的软件要明白内部原理</li>
<li>对于计算机硬件要了解清晰</li>
</ol>
</blockquote>
<p>而这关键的三点，学校都不会教，所以即便是进入了名校、考上了研究生，这些企业所需要的必备能力都不具有，仍然会被淘汰。</p>
<p>学历一般进入大厂的例子我也听闻了许多了，加之此前学长和各路大师的指导，终于让我相信<strong>只要有过硬的技术能力进入大厂</strong>这件事是可以实现的，而且也不是一件万分艰难的事情。</p>
<h1 id="将来的学习规划"><a href="#将来的学习规划" class="headerlink" title="将来的学习规划"></a>将来的学习规划</h1><p>分享会的老师还提到了以下几点，大体指出了一些为进大厂所需要做的准备：<br><img src="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/img3.jpg" alt="Alt Text"></p>
<p>和此前我所确定下来的计划合并了下，近期我的学习方向是这样的：</p>
<ol>
<li><p>搞定我们的LinkingMall课设项目，做到顶好、最好</p>
</li>
<li><p>积极地去做Java方向的项目，遵循实用主义的原则去阅读技术类书籍。算上本学期的课设，到二月份应该能做出来两个项目。</p>
</li>
<li><p>精通专业课，不要分心，不要担心。目前在进行的有：数据库、计算机网络，另加一本CSAPP（要重新拿起来好好读读了）。同样，以实践驱动为学习主要方式，效果是最好的。</p>
</li>
<li><p>非专业课的期末复习。前两个星期经常看看，做做题。上课前一天，抱佛脚看看笔记，就算复习了，一定要把精力花在刀刃上。</p>
</li>
</ol>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-锦先生-参加蓝桥杯所需要做的一些准备">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/08/algo-lanqiao/">锦先生-参加蓝桥杯所需要做的一些准备</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-08
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="学习准备之前"><a href="#学习准备之前" class="headerlink" title="学习准备之前"></a>学习准备之前</h1><p>首先确保自己在官网(<a href="http://www.lanqiao.cn)的个人信息足够且无误，证件照选一张好看点的。个人身份认证通过，就会有标识的：">www.lanqiao.cn)的个人信息足够且无误，证件照选一张好看点的。个人身份认证通过，就会有标识的：</a><br><img src="/2023/12/08/algo-lanqiao/image.png" alt="Alt text"></p>
<p>正式比赛是在2024年的4月8日，大概在4月初就会开放准考证的打印了</p>
<h1 id="学习算法"><a href="#学习算法" class="headerlink" title="学习算法"></a>学习算法</h1><p>算法的学习几乎没有捷径，就是要<strong>多练、多接触、多总结</strong>。</p>
<p>主要有两种方式去学习吧，一是报班，二是自学。</p>
<h3 id="报班"><a href="#报班" class="headerlink" title="报班"></a>报班</h3><p>网上有很多的算法基础学习课程，是付费的，很多较之lanqiao官网的课程是比较便宜的：<br><img src="/2023/12/08/algo-lanqiao/image-2.png" alt="Alt text"><br><img src="/2023/12/08/algo-lanqiao/image-3.png" alt="Alt text"><br><img src="/2023/12/08/algo-lanqiao/image-1.png" alt="Alt text"></p>
<p>但各有利弊吧，有些课程涉及的范围广，面向的是在全球知名的ACM（ACM同样是算法竞赛，但是难度比蓝桥杯高出好几个量级），可能不完全适合只想参加蓝桥的选手。</p>
<p>蓝桥官网的课程贵一些，而且散播的力度也比较大（因为蓝桥杯官网总是在宣传它们的课程。。。。有时真的很烦），不过更有针对性，也能通过课程的社群知道更多有关蓝桥杯竞赛的细节，<strong>如果只是为了在蓝桥杯拿奖，</strong> 可以帮助自己走许多弯路。不过课程任务非常重，进度也很快，如果不把大部分精力都放在上面，跟上进度就会很吃力。</p>
<h3 id="自学"><a href="#自学" class="headerlink" title="自学"></a>自学</h3><p>报蓝桥的班有一个缺点，就是课程就是为了参赛而提高算法，因此有关C++&#x2F;Java&#x2F;Python的语法还有数据结构的知识讲解的就不会很细——— <strong>这些基础知识的不牢固，可能会给自己以后的专业学习带来麻烦。对于算法的学习，官方课程是系统的，但是除此之外的学习，深度还是不够的。</strong></p>
<p>而且如果实在因为某些情况，选择自学，也是绝对可以的。以下就说说算法如何自学：</p>
<h3 id="模拟训练"><a href="#模拟训练" class="headerlink" title="模拟训练"></a>模拟训练</h3><p>除了以上所推荐的模拟比赛外，还可以考虑考虑参加蓝桥杯官网的双周赛、新手赛，以及力扣网上的周赛&#x2F;双周赛，都有含金量，还有对应的奖品，并且开展的模拟比赛也都挺频繁的。<br><img src="/2023/12/08/algo-lanqiao/image-4.png" alt="Alt text"><br><img src="/2023/12/08/algo-lanqiao/image-5.png" alt="Alt text"><br><img src="/2023/12/08/algo-lanqiao/image-6.png" alt="Alt text"></p>
<h3 id="比赛现场和题型"><a href="#比赛现场和题型" class="headerlink" title="比赛现场和题型"></a>比赛现场和题型</h3><p>我们校内比赛是在尚行喽，用机房的电脑Dev-C++编写代码，和在场的许多人一同考试，总时长4小时，总共8题（2道填空和6道编程）。</p>
<p>蓝桥杯竞赛的其他技巧，自行去官网了解吧。</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/08/algo-lanqiao/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-沉默不意味着默许">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/04/%E6%B2%89%E9%BB%98%E4%B8%8D%E6%84%8F%E5%91%B3%E7%9D%80%E9%BB%98%E8%AE%B8/">沉默不意味着默许</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-04
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="对自己的后辈好一点"><a href="#对自己的后辈好一点" class="headerlink" title="对自己的后辈好一点"></a>对自己的后辈好一点</h1><p>我还只是一个大一的小屁孩的时候，大二的一位学长就经常帮助我，有技术有能力有人脉——这在一个普通二分且非理工院校里，的确是非常厉害的存在了。</p>
<p>学长耐心地教会了我很多事情，我至今所掌握的技术和科学上网的魔法，以及关于生活上的一些知识，相当大的一部分都是学长教给我的。我也非常感谢他，即便我现在时不时和他起点摩擦，但我总体上依然是感谢他的。</p>
<p>但是，大概是从我个人的角度来看的吧，学长似乎在帮助后辈时，似乎都会有一种居高临下的感觉。<strong>和知识相关的言论，被学长看见了，似乎都是不对的；和学习以外的某些推荐，也时不时会受到他的“指点”</strong>。即便我到了大二，这样的情况还是存在。</p>
<p>早期因为我所掌握的技术知识确实很少，所以遇到这样的情况，我都选择默认。但是现在我懂的东西多了起来，即便很多方面仍然不如他，但是他的某些观点我还是不认同，加之我也不想一直忍受被压迫的感觉，因此我偶尔会跟他起点小冲突，但更多时候，我选择沉默。</p>
<p>但这绝对不代表我接受他的批判，而是因为当下除了<strong>情绪化争论</strong>我还有更要紧的事情要去做，我不能精神内耗。</p>
<p>也许在学长眼里，我就是一个不务正业、摇摆不定的偏激的人吧。但是和学长相处了有一年了，我诚希望学长能够看见我的改变。也希望学长能够意识到另外一点，那就是他成功的真经，真的不能够套用到大多数人身上。</p>
<p>因为有很重要的两点：</p>
<ul>
<li>学长有自己的工作室。</li>
<li>学长从高中就开始玩计算机。</li>
</ul>
<p>而刚进入学校的大一同志，这两点都不具备。这件事，我也曾和学长辩论过，但是学长至今在这方面的想法也没有改变。对此，我也不想多说些什么，因为我的看法，也不是真经。而且对于很多人来讲，理所应当地会相信更有能力更有技术的人，毕竟大一的我，也是这样的。</p>
<p>而像学长这样的人，我也遇到过很多了。每一次面对这类人，在处理相关技术问题时，我总会被他们<strong>指错、被俯视</strong>，此时我并没有被平等地看待。因此，在面对我自己的后背时，我都告诫自己，一定要尽可能地放下身板，和他们好好交流，尊重每个人的人格，平等交流。</p>
<h1 id="求职与面试技巧是一门好课"><a href="#求职与面试技巧是一门好课" class="headerlink" title="求职与面试技巧是一门好课"></a>求职与面试技巧是一门好课</h1><p>这是我们学校的一门选修课，我真庆幸我又选到了一门宝藏课。在这门课上，真的实打实地教给我有关求职和面试的门道，授课老师也颇具热情，在这谢谢石老师。</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/04/%E6%B2%89%E9%BB%98%E4%B8%8D%E6%84%8F%E5%91%B3%E7%9D%80%E9%BB%98%E8%AE%B8/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-第二届清华社杯算法竞赛-赛后总结">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/04/%E7%AC%AC%E4%BA%8C%E5%B1%8A%E6%B8%85%E5%8D%8E%E7%A4%BE%E6%9D%AF%E7%AE%97%E6%B3%95%E7%AB%9E%E8%B5%9B-%E8%B5%9B%E5%90%8E%E6%80%BB%E7%BB%93/">第二届清华社杯算法竞赛-赛后总结</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-04
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="结果是失败的"><a href="#结果是失败的" class="headerlink" title="结果是失败的"></a>结果是失败的</h1><p>都是非常简单的题目，而且参赛的选手也不是什么大牛，因为一两小时过去了还有些题是0通过（或者是几百的提交，个位数的通过）。但即便是如此，我还是没有取得好成绩，排名来到了900名开外，现在应该1000开外了吧。。。。。</p>
<p>具体过了几道题，就不说了，实在是太难受了。</p>
<h1 id="基础知识不牢固"><a href="#基础知识不牢固" class="headerlink" title="基础知识不牢固"></a>基础知识不牢固</h1><p>比赛前一天，举办了适应考试环境用的模拟赛，发现自己<strong>字符串与数值之间的转换</strong>居然还不熟悉、还不能快速地写出<strong>转换函数</strong>。</p>
<p>在比赛的当天，又立马发现了自己手写二分都遇到困难，说明自己最开始学习二分的时候就没有好好弄明白，总是急于求成、以应付的态度忽略了许多二分的细节。</p>
<p>几乎每场比赛，<strong>图的考查</strong>都不会缺席。而涉及图，DFS\BFS出场率是比较高的——这两种算法，我之前是有专门去练习的。但是比赛的时候，还是大脑空空。</p>
<p>还有<strong>子字符串问题、子数组问题、字符串+字典序问题</strong>，这些问题我之前也是遇到过的，而且同样不少，但是没有好好去做总结、去回顾、去反复体会，面对考题，还是一筹莫展。</p>
<p>当然，我的C++语法掌握也存在一些小问题，比如还弄不清楚<strong>upper_bound和lower_bound这两函数的区别</strong>，整型&#x2F;浮点型转换时的截断问题，数组开的过于大了等等…..</p>
<h1 id="考场心态不稳"><a href="#考场心态不稳" class="headerlink" title="考场心态不稳"></a>考场心态不稳</h1><p>慌慌张张，分心严重，思路混乱，导致该做的题目没有做出来。</p>
<h1 id="以后的打算"><a href="#以后的打算" class="headerlink" title="以后的打算"></a>以后的打算</h1><p>保证练习的同时，多去总结，多去复习，一定要学会控制心态。最重要最根本的一点，就是早日要有一个“<strong>算法思维</strong>”。</p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/04/%E7%AC%AC%E4%BA%8C%E5%B1%8A%E6%B8%85%E5%8D%8E%E7%A4%BE%E6%9D%AF%E7%AE%97%E6%B3%95%E7%AB%9E%E8%B5%9B-%E8%B5%9B%E5%90%8E%E6%80%BB%E7%BB%93/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-我的第一个个人网站的第一篇博客">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/02/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2/">我的第一个个人网站的第一篇博客</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-02
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <h1 id="这是我的第一个个人网站哦"><a href="#这是我的第一个个人网站哦" class="headerlink" title="这是我的第一个个人网站哦"></a>这是我的第一个个人网站哦</h1><p>发布学习日记、发疯日常、电影游戏推荐还有分享一些资源用。</p>
<p>$ git clone <a target="_blank" rel="noopener" href="https://github.com/yiluyanxia/hexo-theme-antiquity.git">https://github.com/yiluyanxia/hexo-theme-antiquity.git</a></p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/02/%E6%88%91%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99%E7%9A%84%E7%AC%AC%E4%B8%80%E7%AF%87%E5%8D%9A%E5%AE%A2/">Read More</a>
    </footer>
</div>

<div class="cube-excerpt" id="cube-excerpt-Hello World">
    <header class="cube-excerpt-header">
        <h1><a href="/2023/12/02/hello-world/">Hello World</a></h1>
        <div class="cube-excerpt-header-msg">
            <div class="cube-excerpt-date">
                <i class="cube-icon cube-icon-date" aria-hidden="true"></i>
                2023-12-02
            </div>
            <div class="cube-excerpt-tags">
                <i class="cube-icon cube-icon-tag" aria-hidden="true"></i>
                
            </div>
        </div>
    </header>
    <article class="cube-excerpt-entry cube-markdown">
        
        
           <p>Welcome to <a target="_blank" rel="noopener" href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a target="_blank" rel="noopener" href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a target="_blank" rel="noopener" href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a target="_blank" rel="noopener" href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p>
<h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="BASH"><figure class="iseeu highlight /bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure></div>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/writing.html">Writing</a></p>
<h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="BASH"><figure class="iseeu highlight /bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure></div>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/server.html">Server</a></p>
<h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="BASH"><figure class="iseeu highlight /bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure></div>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/generating.html">Generating</a></p>
<h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="BASH"><figure class="iseeu highlight /bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure></div>

<p>More info: <a target="_blank" rel="noopener" href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>

        
    </article>
    <footer class="cube-excerpt-footer">
        <a class="cube-excerpt-more" href="/2023/12/02/hello-world/">Read More</a>
    </footer>
</div>



<ul class="cube-pagination cube-pagination-6">
    
    <li class="cube-pagination-prev disabled">
        <span>« Prev</span>
    </li>
    
    
        
            
            <li class="cube-pagination-index disabled">
                <span>1</span>
            </li>
            
        
    

    
    <li class="cube-pagination-next disabled">
        <span>Next »</span>
    </li>
    
</ul>

<!--其他组件后续添加-->
        </div>
        <div class="cube-right">
            

<div class="cube-search cube-sidebar" id="cube-search">
    <div class="search-container">
        <input type="text" placeholder="Search" class="cube-search-input" id="cube-search-input">
        <i class="cube-icon cube-icon-search cube-search-submit" aria-hidden="true"></i>
    </div>
    <!-- TODO 通过给window赋一个全局变量，通过脚本赋值 -->
</div>
<script>
    (function (window) {
        'use strict';
        window.searchModule = {}
        window.searchModule.JSONUrl = '/content.json'
        window.searchModule.rootUrl = '/'
    })(window)
</script>
<div class="cube-search-form">
    <div class="cube-search-control">
        <input type="text" placeholder="Search" class="search-input">
        <a class="close-button">
            <i class="cube-icon cube-close" aria-hidden="true"></i>
        </a>
    </div>
    <div class="cube-search-result"></div>
</div>


<div class="cube-author cube-sidebar" id="cube-author">
    
    
    <span>John Doe</span>
    
    
    <div class="count">
        <a class="count articles"><span>9</span>Article</a>
        <a class="count tags"><span>0</span>Tags</a>
        <a class="count categories"><span>0</span>Categories</a>
    </div>
</div>



<div class="cube-music cube-sidebar" id="cube-music">
    <div class="cube-player aplayer" id="cube-player"></div>
</div>
<script>
    (function (window) {
        window.musicModule = {}
        window.musicModule.musicConfig = '{"narrow":false,"autoplay":false,"showlrc":3,"theme":"#b7daff","mutex":true,"mode":"circulation","preload":"auto","listmaxheight":"513px","music":[{"title":"Dear friends","author":"TRIPLANE","url":"http://cube-1252774894.cosgz.myqcloud.com/music/source/TRIPLANE - Dear friends.mp3","lrc":"http://cube-1252774894.cosgz.myqcloud.com/music/lrc/Dear friends - TRIPLANE.lrc","pic":"http://cube-1252774894.cosgz.myqcloud.com/music/image/TRIPLANE - Dear friends.jpg"},{"title":"Butter-Fly","author":"和田光司","url":"http://cube-1252774894.cosgz.myqcloud.com/music/source/和田光司 - Butter-Fly (ピアノヴァージョン).mp3","lrc":"http://cube-1252774894.cosgz.myqcloud.com/music/lrc/Butter-Fly (ピアノヴァージョン) - 和田光司.lrc","pic":"http://cube-1252774894.cosgz.myqcloud.com/music/image/和田光司 - Butter-Fly (ピアノヴァージョン).jpg"},{"title":"宵闇花火","author":"葉月ゆら","url":"http://cube-1252774894.cosgz.myqcloud.com/music/source/葉月ゆら - 宵闇花火.mp3","lrc":"http://cube-1252774894.cosgz.myqcloud.com/music/lrc/宵闇花火 - 葉月ゆら.lrc","pic":"http://cube-1252774894.cosgz.myqcloud.com/music/image/葉月ゆら - 宵闇花火.jpg"}]}'
        window.musicModule.lrcConfig = {
            open: 'Open Lyrics',
            close: 'Close Lyrics'
        }
    })(window)
</script>



<div class="cube-recent-posts cube-sidebar" id="cube-recent-posts">
    <div class="title">
        <a>Recent Posts</a>
    </div>
    <ul class="list">
        
        
        <li>
            <!-- TODO 如果文章要显示图片，那么在front-matter上添加preview属性(url or path) -->
            
            <div class="normal">
                <p class="index first">
                    <span>1</span>
                </p>
                <p class="title">
                    <a href="/2023/12/23/%E5%A4%AF%E5%AE%9E%E5%9F%BA%E7%A1%80%EF%BC%8C%E4%BF%9D%E6%9C%89%E8%87%AA%E6%88%91%EF%BC%8C%E7%BB%A7%E7%BB%AD%E6%88%90%E9%95%BF%E2%80%94%E2%80%94%E9%94%A6%E5%85%88%E7%94%9F2023%E5%B9%B4%E7%BB%88%E6%80%BB%E7%BB%93/" title="夯实基础，保有自我，继续成长——锦先生2023年终总结">夯实基础，保有自我，继续成长——锦先生2023年终总结</a>
                </p>
            </div>
            
        </li>
        
        
        
        <li>
            <div class="normal">
                <p class="index">
                    <span>2</span>
                </p>
                <p class="title">
                    <a href="/2023/12/17/%E5%B0%8F%E6%A0%91%E6%B4%9E/" title="小树洞">小树洞</a>
                </p>
            </div>
        </li>
        
        
        
        <li>
            <div class="normal">
                <p class="index">
                    <span>3</span>
                </p>
                <p class="title">
                    <a href="/2023/12/13/MyOwnBlog%E8%BF%90%E8%A1%8C%E5%92%8C%E9%83%A8%E7%BD%B2%E5%8E%86%E7%A8%8B/" title="MyOwnBlog运行和部署历程">MyOwnBlog运行和部署历程</a>
                </p>
            </div>
        </li>
        
        
        
        <li>
            <div class="normal">
                <p class="index">
                    <span>4</span>
                </p>
                <p class="title">
                    <a href="/2023/12/09/%E6%98%8E%E7%A1%AE%E8%81%8C%E4%B8%9A%E6%96%B9%E5%90%91%EF%BC%8C%E5%81%9A%E5%87%BA%E8%81%8C%E4%B8%9A%E9%80%89%E6%8B%A9-%E4%B8%80%E6%AC%A1%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E4%BC%9A%E8%A7%82%E5%90%8E%E6%84%9F/" title="明确职业方向，做出职业选择---一次技术分享会观后感">明确职业方向，做出职业选择---一次技术分享会观后感</a>
                </p>
            </div>
        </li>
        
        
        
        <li>
            <div class="normal">
                <p class="index">
                    <span>5</span>
                </p>
                <p class="title">
                    <a href="/2023/12/08/algo-lanqiao/" title="锦先生-参加蓝桥杯所需要做的一些准备">锦先生-参加蓝桥杯所需要做的一些准备</a>
                </p>
            </div>
        </li>
        
        
    </ul>
</div>







<div class="cube-links cube-sidebar" id="cube-links">
    <div class="title">
        <a>Links</a>
    </div>
    <ul class="list">
        
        <li>
            
            
            <img src="http://cube-1252774894.cosgz.myqcloud.com/links/GitHub.png">
            
            <a href="https://github.com/ZEROKISEKI" target="_blank">GitHub</a>
        </li>
        
        <li>
            
            
            <img src="http://cube-1252774894.cosgz.myqcloud.com/links/Coding.png">
            
            <a href="https://coding.net/u/SORA1" target="_blank">Coding</a>
        </li>
        
        <li>
            
            
            <img src="http://cube-1252774894.cosgz.myqcloud.com/links/SF.png">
            
            <a href="https://segmentfault.com/u/aonosora" target="_blank">SF社区</a>
        </li>
        
        <li>
            
            
            <img src="http://cube-1252774894.cosgz.myqcloud.com/links/开发者头条.png">
            
            <a href="https://toutiao.io/u/148070" target="_blank">开发者头条</a>
        </li>
        
    </ul>
</div>



<div class="cube-friend-links cube-sidebar" id="cube-friend-links">
    <div class="title">
        <a>Friend Links</a>
    </div>
    <ul class="list">
        
        <li>
            <!-- TODO change avatar.png to friend.png-->
            <img src="http://cube-1252774894.cosgz.myqcloud.com/friend_links/micblo.png">
            <a href="https://blog.micblo.com/" target="_blank">罗大佬</a>
        </li>
        
        <li>
            <!-- TODO change avatar.png to friend.png-->
            <img src="http://cube-1252774894.cosgz.myqcloud.com/friend_links/DIYgod.jpg">
            <a href="https://www.anotherhome.net/" target="_blank">DIYgod</a>
        </li>
        
        <li>
            <!-- TODO change avatar.png to friend.png-->
            <img src="/images/friend_links.jpg ">
            <a href="https://aonosora.com/" target="_blank">咪西西の部落格</a>
        </li>
        
    </ul>
</div>


        </div>
    </div>
</div>
<footer class="cube-footer">
    
© 2017 John Doe

<br>
Powered by <a href="https://hexo.io/" target="_blank">Hexo</a>.&nbsp;Theme by <a href="https://github.com/ZEROKISEKI" target="_blank">AONOSORA</a>
</footer>
<!-- inject:script -->
<script src="/js/script.js"></script>
<!-- endinject -->
<div class="cube-loading out"></div>
</body>
</html>